home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 3 / BBS in a box - Trilogy III.iso / Files / Prog / U-Z / VideoToolBox Folder / VideoToolboxSources / GDInfo.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-03-22  |  2.5 KB  |  69 lines  |  [TEXT/KAHL]

  1. /*
  2. GDInfo.h
  3.  
  4. This structure is used by GDInfo.c, TestClut.c, and TimeVideo.c. The intent is
  5. to allow the test routines to accumulate all the test information in one
  6. convenient structure that the high level program could intelligently summarize.
  7. Originally the low-level test routines spat out results as they went along,
  8. which resulted in an undigestible mass of information.
  9.  
  10. This is still subject to change. Any suggestions?
  11. */
  12.  
  13. typedef struct {
  14.     // clutTest: filled in by TestClut.c
  15.     short tests;                // number of clut entries tested
  16.     short errors;
  17.     struct{
  18.         short errors;            // failed rgb write/read test, assuming color mode
  19.         short zeroStartErrors;    // failed rgb write/read test,   " "  , with start==0
  20.     }color;
  21.     struct{
  22.         short errors;            // failed rgb write/read test, assuming gray mode
  23.         short zeroStartErrors;    // failed rgb write/read test,   " "  , with start==0
  24.     }gray;
  25.     struct{
  26.         short tests;
  27.         short errors;
  28.         short zeroStartErrors;
  29.     }visual;                    // vs standard flags==0 cond.
  30.     Boolean hashTest,hash;        // visible artifacts during clut loading
  31. }VideoCardClutTest;
  32.  
  33. typedef struct {
  34.     Boolean visual;                            // Requested by user.
  35.     Boolean basicTest,timeTest,clutTest;    // What's been tested.
  36.     // basicTest: these are filled in by GDInfo.c
  37.     short m;                    // current mode index =mode&7.
  38.     short mode,gdType;            // current state
  39.     Boolean isGray;            // current state
  40.     Boolean setEntriesQuickly,gdGetEntries;    // compatible
  41.     char cardName[100],driverName[100];
  42.     short slot,width,height,dacSize,dacMask;
  43.     struct{
  44.         // timeTest: these are filled in by GDTime() in GDInfo.c
  45.         short pixelSize;            // zero if mode is invalid, otherwise 1<<m
  46.         short colors,pages;
  47.         double frameRate,vblPerFrame;
  48.         double movieRate,movieRateQuickly;
  49.         double framesPerClutUpdate,framesPerClutUpdateHighPriority
  50.             ,framesPerClutUpdateQuickly;
  51.         double missingFramesPerClutUpdate,missingFramesPerClutUpdateHighPriority
  52.             ,missingFramesPerClutUpdateQuickly;
  53.         // These are filled in by TestClut and VisibleHash in TestClut.c
  54.         VideoCardClutTest clut,clutQuickly;
  55.     } depth[6];                        // Indexed by "m".
  56. } VideoCard;
  57.  
  58. OSErr GDInfo(GDHandle device,VideoCard *card);
  59. OSErr GDTime(GDHandle device,VideoCard *card);
  60. OSErr TestClut(FILE *o[2],GDHandle device,short flags,VideoCard *card);
  61. OSErr TestClutVisually(GDHandle device,short flags,VideoCard *card);
  62. OSErr SetEntriesQuicklyVsGDSetEntries(GDHandle device,VideoCard *card);
  63. OSErr TestClutHash(GDHandle device,SetEntriesFunction function
  64.     ,VideoCardClutTest *clut);
  65.  
  66. enum{testClutQuicklyFlag=1,testClutSeriallyFlag=2
  67.     ,testClutNegativeFlag=4,testClutLinearFlag=8
  68.     ,testClutVisually=16};
  69.